All courses
EMB 510
Term 1
3 credits
Embedded Linux Systems Engineering
Students will gain practical skills in building, configuring, and optimizing custom embedded Linux distributions for various hardware platforms. Topics include bootloader customization, kernel and device driver development, system integration using Yocto/Buildroot, and real-time considerations, preparing students for professional roles in embedded systems.
Course outline
Lectures, virtual labs, and graded assignments — completed in your browser.
01Foundations of Embedded Linux and Toolchain Setuplecture
02Mastering Bootloaders: U-Boot Customization and Workflowlecture
03Linux Kernel Deep Dive for Embedded Platformslecture
04Device Tree Specification and Hardware Configurationlecture
05Introduction to Linux Kernel Module and Driver Developmentlecture
06Advanced Device Drivers: I2C, SPI, and Platform Integrationlecture
07Crafting Robust Root Filesystems for Embedded Deviceslecture
08Yocto Project Part 1: Core Concepts and BitBakelecture
09Yocto Project Part 2: Customizing Images and Layerslecture
10Buildroot: Fast Embedded Linux System Generationlecture
11Real-Time Linux: Achieving Predictable Performancelecture
12Embedded System Board Bring-up and Troubleshootinglecture
13Embedded Linux Security and System Updateslecture
14Embedded Linux System Design Capstone and Futuresassignment
Syllabus
Week 1: Introduction to Embedded Linux and Development Environment Setup Week 2: Bootloaders: U-Boot Architecture and Customization Week 3: Linux Kernel Internals and Configuration for Embedded Systems Week 4: Device Tree: Understanding and Customizing Hardware Abstraction Week 5: Developing Simple Linux Kernel Modules and Character Drivers Week 6: Advanced Kernel Drivers: Platform Devices, I2C, SPI, and GPIO Week 7: Root Filesystems: BusyBox, JFFS2, UBIFS, and OverlayFS Week 8: Build Systems: Introduction to Yocto Project Fundamentals Week 9: Yocto Project: Recipes, Layers, and Customizing Images Week 10: Build Systems: Introduction to Buildroot and Configuration Week 11: Real-Time Linux: PREEMPT_RT Patch and Latency Analysis Week 12: Board Bring-up Process and Debugging Techniques Week 13: Embedded Linux Security and Over-the-Air Updates (OTA) Week 14: Final Project Presentations and Advanced Topics